// 引入项目中的全局组件
import type { App, Component } from 'vue'
// 自定义的svg icon
import SvgIcon from './SvgIcon/index.vue'
//引入element-plus提供的所有icon
import * as ElementPLusIconsVue from '@element-plus/icons-vue'

//全局对象
const allGloablComponent: { [name: string]: Component } = {
  SvgIcon,
}

// 对外暴漏插件对象
export default {
  install(app: App): void {
    //注册项目中自定义的全部全局组件
    Object.keys(allGloablComponent).forEach((key) => {
      //注册为全局组件
      app.component(key, allGloablComponent[key])
    })
    //将element-plus提供的所有icon注册为全局组件
    for (const [key, component] of Object.entries(ElementPLusIconsVue)) {
      app.component(key, component)
    }
  },
}
